(function () {
    var page = {
        init: function () {
            this.initLoginForm();//初始化登录框
        },

        /**
         * 手机号码是否有效
         */
        mobile: false,

        loginErrorTimer: null,
        initLoginForm: function () {
            var authToken = localStorage.getItem('auth-token');

            $('input[name="mobile"], input[name="password"]').on('keyup', page.checkForm).change(page.checkForm);

            $('#login-btn').click(function () {
                if ($(this).hasClass('disabled')) {
                    return false;
                }

                $('#login-form').post(function (json) {
                    var user = json.data;
                    $.cookie('auth-token', user.id);
                    window.location.href = '/article/release';
                }, function (json) {
                    if (page.loginErrorTimer != null) {
                        clearTimeout(page.loginErrorTimer);
                    }
                    $('#login-error-info').text(json.message).show();
                    page.loginErrorTimer = setTimeout(function () {
                        $('#login-error-info').fadeOut();
                    }, 3000);
                });

                return false;
            });
        },

        checkForm: function (e) {
            var input = $(e.target);
            var name = input.attr('name');
            if (name === 'mobile') {
                page.checkMobile(e);
            } else if (name === 'password') {
                var val = input.val();
                if (val.length < 6) {
                    $(input).setInputError();
                } else {
                    $(input).setInputSuccess();
                }
            }
            //检查是否有错误
            if ($('.has-success').length == 2) {
                $('#login-btn').removeClass('disabled');
            } else {
                $('#login-btn').addClass('disabled');
            }
        },

        checkMobile: function (e) {
            var input = $(e.target);
            $(input).isMobile(function (mobileInput) {
                $(input).setInputSuccess();
                page.mobile = $(mobileInput).val();
                $('#login-btn').removeClass('disabled');
            }, function (mobileInput) {
                $(input).setInputError();
                page.mobile = null;
                $('#login-btn').addClass('disabled');
            });
        }
    };

    page.init();
})();